package controle;

import java.sql.SQLException;
import java.util.List;
import javax.faces.bean.RequestScoped;
import javax.inject.Named;
import modelo.Dentista;
import persistencia.DentistaDAO;

@Named(value = "DentistaMB")
@RequestScoped
public class DentistaMB {

    private Dentista dentista;

    private DentistaDAO dentistaDAO;

    List<Dentista> nome;

    public DentistaMB() throws SQLException {
        dentista = new Dentista();
        dentistaDAO = new DentistaDAO();
        nome = dentistaDAO.getTodosDentista(DentistaDAO.ORDEM_POR_ID);

    }

    public List<Dentista> getNomes() {
        return nome;
    }

    public Dentista getDentista() {
        return dentista;
    }

    public void setDentista(Dentista dentista) {
        this.dentista = dentista;
    }

    

    public void salvar() throws SQLException {
        if (this.dentista.getId() == 0) {
            dentistaDAO.salvar(dentista);
        } else {
            dentistaDAO.alterar(dentista);
        }
        nome = dentistaDAO.getTodosDentista(DentistaDAO.ORDEM_POR_ID);
    }

    public void alterar(Dentista nome) {
        this.dentista = nome;
    }

    public void excluir(Dentista dentista) throws SQLException {
        dentistaDAO.excluir(dentista);
        //Atualiza a lista após excluir linha da tabela de consulta.
        nome = dentistaDAO.getTodosDentista(DentistaDAO.ORDEM_POR_ID);
    }

    public void pesquisar() throws SQLException {
        dentista = dentistaDAO.pesquisar(dentista.getId());
    }

}
